﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using VmGui.localhost;
using System.Web.Services.Protocols; 

namespace VmGui
{
    public partial class FormRealizarVenda : Form
    {
        public FormRealizarVenda()
        {
            InitializeComponent();
        }

        List<Pedido> listaPed;


        public void listarPedidos() {


            this.Cursor = Cursors.WaitCursor;
            

            Service1 sv = new Service1();

            try
            {

                listaPed = sv.listar_pedido().ToList();


                listViewPedidosPendentes.Items.Clear();

                foreach (var item in listaPed)
                {
                    ListViewItem itemLv = listViewPedidosPendentes.Items.Add(item.Repre.RazaoSocial);

                    itemLv.SubItems.Add(item.Clie.RazaoSocial);
                    itemLv.SubItems.Add(item.CodPedido.ToString());
                    itemLv.SubItems.Add(item.Data.ToString());
                    itemLv.SubItems.Add(item.Valor.ToString());
                    itemLv.SubItems.Add(item.Situacao);
                }

            }
            catch (SoapException erro)
            {
                string erro2 = ErroMsg.msgvalidarerro(erro.Message);


                MessageBox.Show(erro2, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }

            this.Cursor = Cursors.Default;
 
        
        }

        private void FormRealizarVenda_Load(object sender, EventArgs e)
        {

            listarPedidos();
            

        }

        private void bConfirmarVenda_Click(object sender, EventArgs e)
        {
            Service1 sv = new Service1();

            try
            {


                int cliCod = listaPed.ElementAt(listViewPedidosPendentes.SelectedItems[0].Index).Clie.CodCli;

                string razaoCli = listaPed.ElementAt(listViewPedidosPendentes.SelectedItems[0].Index).Clie.RazaoSocial;

              //  MessageBox.Show("" + cliCod+" "+razaoCli);

                int item = Int32.Parse(listViewPedidosPendentes.SelectedItems[0].SubItems[2].Text);

                string situacao = listViewPedidosPendentes.SelectedItems[0].SubItems[5].Text;

                Pedido ped = new Pedido();

                ped.CodPedido = item;

                ped.Situacao = situacao;

               //ped.Clie.CodCli = cliCod; //Passando o codigo do cliente

                sv.alterar_pedido(ped);

                MessageBox.Show("Venda realizada com sucesso", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                listarPedidos();

            }

            catch (NullReferenceException er) {

                MessageBox.Show(er.Message);
            
            }


            catch (ArgumentOutOfRangeException)
            {

                MessageBox.Show("Você deve selecionar um pedido para realizar a venda", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }

            catch (SoapException erro)
            {

                string erro2 = ErroMsg.msgvalidarerro(erro.Message);

                MessageBox.Show(erro2, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }

            
      
          
        }

        private void bCancelarVenda_Click(object sender, EventArgs e)
        {

            this.Close();

        }
    }
}
